//
// SystemDeviceIterator.cpp for SystemDeviceIterator in /home/mambou_j//babel-2014/babel-2014/Portaudio
// 
// Made by jacquesquentin mamboumouafo
// Login   <mambou_j@epitech.net>
// 
// Started on  Wed May 16 01:15:59 2012 jacquesquentin mamboumouafo
// Last update Wed May 16 01:31:25 2012 jacquesquentin mamboumouafo
//


#include	"SystemDeviceIterator.hpp"

namespace	portaudio
{

  Device	&System::DeviceIterator::operator*() const
  {
    return **ptr_;
  }

  Device	*System::DeviceIterator::operator->() const
  {
    return &**this;
  }

  System	DeviceIterator &System::DeviceIterator::operator++()
  {
    ++ptr_;
    return *this;
  }

  System::DeviceIterator System::DeviceIterator::operator++(int)
  {
    System::DeviceIterator prev = *this;
    ++*this;
    return prev;
  }

  System::DeviceIterator &System::DeviceIterator::operator--()
  {
    --ptr_;
    return *this;
  }

  System::DeviceIterator System::DeviceIterator::operator--(int)
  {
    System::DeviceIterator prev = *this;
    --*this;
    return prev;
  }

  bool	System::DeviceIterator::operator==(const System::DeviceIterator &rhs)
  {
    return (ptr_ == rhs.ptr_);
  }

  bool	System::DeviceIterator::operator!=(const System::DeviceIterator &rhs)
  {
    return !(*this == rhs);
  }
}
